package org.example.flinketl.vo;

import java.math.BigDecimal;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;

import org.hibernate.validator.constraints.Length;

import lombok.Data;
import lombok.ToString;

/**
 * 贷款还本明细
 */
@Data
@ToString
public class HuanbMx   implements Vo{
  /** 还本标志 */
  String tran_flag;
  /** 证件号码 */
  String uid;
  /** 客户名称 */
  @Length(min = 1)
  String cust_name;
  /** 账号 */
  @Pattern(regexp = "\\d*")
  String acct_no;
  /** 交易日期 */
  @Pattern(regexp = "(18|19|20|21)\\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)")
  String tran_date;
  /** 交易时间 */
  String tran_time;

  /** 交易金额 */
  @NotNull
  BigDecimal tran_amt;
  /** 余额 */
  BigDecimal bal;
  /** 交易代码 */
  String tran_code;
  /** 借贷别 */
  String dr_cr_code;
  /** int4 NULL -- 还款期数 */
  Integer pay_term;
  /** 操作柜员号 */
  String tran_teller_no;
  /** 每期还款金额 */
  BigDecimal pprd_rfn_amt;
  /** 每期摊还额计算利息 */
  BigDecimal pprd_amotz_intr;
  /** 交易流水号 */
  String tran_log_no;
  /** 交易类型 */
  String tran_type;
  /** 摘要 */
  String dscrp_code;
  /** 备注 */
  String remark;
  /** 数据日期 */
  String etl_dt;

  public static String getTableName() {
    return "dm_v_tr_huanb_mx";
  }

  @Override
  public String getContentType() {
    return "huanb";
  }
}
